/*
 *	Board.h
 *
 *	Created on 3/1/2011 by Alan Mattila
 */

#ifndef BOARD_H_
#define BOARD_H_

#include <iostream>
#include "../checkers/CheckersDefs.h"

using std::ostream;



class Board
{
public:
	Board();
	Board(Board* board);
	~Board();
	int GetValue(int x, int y) const;
	void SetValue(int x, int y, int value);

	int GetPlayer1PieceCount() { return player1Count;}
	int GetPlayer2PieceCount() { return player2Count;}

	friend ostream& operator<<(ostream &os, Board &obj);
    Board &operator=(Board &obj);
private:
	int **board;
	int player1Count;
	int player2Count;

	void InitiailizeBoard();
};

#endif /* BOARD_H_ */
